{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import joblib\n",
    "import warnings\n",
    "import os\n",
    "import collections\n",
    "from itertools import zip_longest\n",
    "\n",
    "from scipy.optimize import curve_fit\n",
    "import GPy\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "from utils import cl_curve_smooth, curve_derivative"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_01 = joblib.load('./test_HA/test_HA_01.lz4')\n",
    "test_02 = joblib.load('./test_HA/test_HA_02.lz4')\n",
    "test_03 = joblib.load('./test_HA/test_HA_03.lz4')\n",
    "test_04 = joblib.load('./test_HA/test_HA_04.lz4')\n",
    "test_05 = joblib.load('./test_HA/test_HA_05.lz4')\n",
    "\n",
    "train_01 = joblib.load('./train_HA/train_HA_01.lz4')\n",
    "train_02 = joblib.load('./train_HA/train_HA_02.lz4')\n",
    "train_03 = joblib.load('./train_HA/train_HA_03.lz4')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def CL_mean_initial(df, apply_col, seg_col, up_thred = 30, down_thred= 0, show_anomaly=True):\n",
    "    '''\n",
    "    描述：\n",
    "        统计每一段时间的某一列均值->改成中位数，更稳\n",
    "    '''\n",
    "    data = df[apply_col]\n",
    "    seg_cl = df[seg_col].unique()\n",
    "    seg_cl.sort()\n",
    "    \n",
    "    \n",
    "    # 初始化mean_list\n",
    "    mean_list = []\n",
    "    for cl in seg_cl:\n",
    "        seg_mean = data[df[seg_col] == cl].median()\n",
    "        mean_list.append(seg_mean)\n",
    "    if show_anomaly:\n",
    "        for i in range(len(mean_list)):\n",
    "            idx_mean = mean_list[i]\n",
    "            if (idx_mean>up_thred) or (idx_mean<down_thred):\n",
    "                mean_list[i] = -1\n",
    "    return seg_cl, mean_list\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 提取每一段时间的中位数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7fa4999df668>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# train_02的曲线走势与其他曲线相比，较为异常\n",
    "# 考虑只用train_01和train_03进行训练\n",
    "plt.figure(figsize=(20,10))\n",
    "cl, mean_list = CL_mean_initial(train_01, 'PCA_T2', 'CLI', 30, 0, show_anomaly=False)\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "mean_list = pd.Series(mean_list).rolling(window=4, center=False, min_periods=1).mean().tolist()\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit')\n",
    "plt.plot(cl, mean_list, label='train_01')\n",
    "\n",
    "# # CLI>45\n",
    "cl, mean_list = CL_mean_initial(train_02[train_02['CLI']>45], 'PCA_T2', 'CLI', 30, 0, show_anomaly=False)\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "mean_list = pd.Series(mean_list).rolling(window=4, center=False, min_periods=1).mean().tolist()\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit')\n",
    "plt.plot(cl, mean_list, label='train_02')\n",
    "\n",
    "# CLI<140\n",
    "cl, mean_list = CL_mean_initial(train_03[train_03['CLI']<140], 'PCA_T2', 'CLI', 30, 0, show_anomaly=False)\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "mean_list = pd.Series(mean_list).rolling(window=4, center=False, min_periods=1).mean().tolist()\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit')\n",
    "plt.plot(cl, mean_list, label='train_03')\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7fa499932c88>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(20,10))\n",
    "cl, mean_list = CL_mean_initial(test_01, 'PCA_T2', 'CLI', 30, 0, show_anomaly=False)\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit')\n",
    "plt.plot(cl, mean_list, label='test_01')\n",
    "\n",
    "cl, mean_list = CL_mean_initial(test_02, 'PCA_T2', 'CLI', 30, 0, show_anomaly=False)\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=15, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit')\n",
    "plt.plot(cl, mean_list, label='test_02')\n",
    "\n",
    "cl, mean_list = CL_mean_initial(test_03, 'PCA_T2', 'CLI', 30, 0, show_anomaly=False)\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit')\n",
    "plt.plot(cl, mean_list, label='test_03')\n",
    "\n",
    "cl, mean_list = CL_mean_initial(test_04, 'PCA_T2', 'CLI', 30, 0, show_anomaly=False)\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit')\n",
    "plt.plot(cl, mean_list, label='test_04')\n",
    "\n",
    "cl, mean_list = CL_mean_initial(test_05, 'PCA_T2', 'CLI', 30, 0, show_anomaly=False)\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=10, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit')\n",
    "plt.plot(cl, mean_list, label='test_05')\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 求均值的1阶导数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7fa49983b0f0>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABJcAAAJCCAYAAAB9KiZOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xt0ntV9J/rvI8uWZFvS65uMZJBkAr4A4VIcQkLSEFwSSFIgLXBIL8PkNMmcls5Jp1c662Q6kzNd4zS9hRlo2hSmJO1KQsIkpCckbcMlnebWGAoJYGNz8Q0L29jY8k22ZT/nD8uUiwFblvS+r/T5rOXFe3n23r9Xa+WPfNfev12UZRkAAAAAGI6GahcAAAAAQP0SLgEAAAAwbMIlAAAAAIZNuAQAAADAsAmXAAAAABg24RIAAAAAwyZcAgAAAGDYhEsAAAAADJtwCQAAAIBha6x2ASNh9uzZZW9vb7XLAAAAABg3HnjggefKspzzes+Ni3Cpt7c3y5cvr3YZAAAAAONGURRrj+U5x+IAAAAAGDbhEgAAAADDJlwCAAAAYNjGRc8lAAAAgCMOHDiQDRs2ZGBgoNql1IXm5uacfPLJmTx58rDGC5cAAACAcWXDhg1pbW1Nb29viqKodjk1rSzLbN26NRs2bMj8+fOHNYdjcQAAAMC4MjAwkFmzZgmWjkFRFJk1a9YJ7fISLgEAAADjjmDp2J3o30q4BAAAAMCwCZcAAAAAGDbhEgAAAMAI2r59e2655ZbjHvee97wn27dvP+5x27Zty6WXXprTTz89l156aZ5//vkkycqVK/OWt7wlTU1N+cM//MPjnvdYCZcAAAAARtCrhUuDg4OvOe7uu+9OpVI57vWWLVuWpUuXZvXq1Vm6dGmWLVuWJJk5c2Zuuumm/OZv/uZxz3k8Gkd1dgAAAIAq+i9/+2ge29g/onOe0dWW3/vpM1/1+xtvvDFPPvlkzj333EyePDnNzc2ZMWNGVq5cmVWrVuWqq67K+vXrMzAwkI9+9KP5yEc+kiTp7e3N8uXLs2vXrlx++eV529velu9+97uZN29e7rrrrrS0tBx1vbvuuiv3339/kuT666/PxRdfnE984hPp6OhIR0dHvv71r4/o7385O5cAAAAARtCyZcvyhje8IQ899FA++clP5sEHH8ynPvWprFq1Kkly22235YEHHsjy5ctz0003ZevWra+YY/Xq1bnhhhvy6KOPplKp5M4773zV9TZt2pTOzs4kyUknnZRNmzaNzg97FXYuAQAAAOPWa+0wGisXXHBB5s+f/8L7m266KV/5yleSJOvXr8/q1asza9asl4yZP39+zj333CTJ+eefnzVr1hzTWkVRpCiKkSn8GNm5BAAAADCKpk2b9sLr+++/P9/61rfyve99Lw8//HDOO++8DAwMvGJMU1PTC68nTZr0mv2a5s6dm76+viRJX19fOjo6RrD61ydcAgAAABhBra2t2blz51G/27FjR2bMmJGpU6dm5cqV+f73v3/C611xxRW5/fbbkyS33357rrzyyhOe83g4FgcAAAAwgmbNmpWLLrooZ511VlpaWjJ37twXvrvsssvy6U9/OosXL87ChQtz4YUXnvB6N954Y6699trceuut6enpyR133JEkefbZZ7NkyZL09/enoaEhf/qnf5rHHnssbW1tJ7zmixVlWY7ohNWwZMmScvny5dUuAwAAAKgBK1asyOLFi6tdRl052t+sKIoHyrJc8npjHYsDAAAAYNiOKVwqiuKyoigeL4riiaIobjzK901FUXxx6PsfFEXR+6Lvfnfo88eLonj30GenFEVxX1EUjxVF8WhRFB990fMzi6L4h6IoVg/9d8aJ/0wAAACA+nbDDTfk3HPPfcm///k//2e1y3r9nktFUUxKcnOSS5NsSPLDoii+VpblYy967JeSPF+W5WlFUVyX5BNJ/o+iKM5Icl2SM5N0JflWURQLkgwm+Y2yLB8siqI1yQNFUfzD0Jw3JrmnLMtlQ0HWjUl+Z8R+MQAAAEAduvnmm6tdwlEdy86lC5I8UZblU2VZ7k/yhSQvbzt+ZZLbh15/OcnSoiiKoc+/UJblvrIsn07yRJILyrLsK8vywSQpy3JnkhVJ5h1lrtuTXDW8nwYAAADAaDuWcGlekvUver8h/xoEveKZsiwHk+xIMutYxg4doTsvyQ+GPppblmXf0Otnk8zNBPDcrn151598O1/9l2eqXQoAAADAMatqQ++iKKYnuTPJr5Vl2f/y78vDV9kd9Tq7oig+UhTF8qIolm/ZsmWUKx197S2Ts3rzrjz93O5qlwIAAABwzI4lXHomySkven/y0GdHfaYoisYk7Um2vtbYoigm53Cw9DdlWf6vFz2zqSiKzqFnOpNsPlpRZVn+RVmWS8qyXDJnzpxj+Bm1bfKkhnS0NqVvx95qlwIAAABwzI4lXPphktOLophfFMWUHG7Q/bWXPfO1JNcPvb46yb1Du46+luS6odvk5ic5Pck/D/VjujXJirIs//g15ro+yV3H+6PqVWd7SzZuH6h2GQAAAMAJ2L59e2655ZbjHvee97wn27dvP+5x27Zty6WXXprTTz89l156aZ5//vkkyd/8zd/k7LPPzhvf+Ma89a1vzcMPP3zccx+L1w2Xhnoo/WqSv8vhxtt3lGX5aFEUHy+K4oqhx25NMqsoiieS/HoO3/CWsiwfTXJHkseSfDPJDWVZHkxyUZJfTHJJURQPDf17z9Bcy5JcWhTF6iQ/NfR+QphXaclGO5cAAACgrr1auDQ4OPia4+6+++5UKpXjXm/ZsmVZunRpVq9enaVLl2bZssNRyvz58/Ptb387P/7xj/Oxj30sH/nIR4577mNRHN5gVN+WLFlSLl++vNplnLD/+v89lr/+wdqs+PhlOby5CwAAADheK1asyOLFiw+/+caNybM/HtkFTnpjcvmr74W57rrrctddd2XhwoWZPHlympubM2PGjKxcuTKrVq3KVVddlfXr12dgYCAf/ehHXwh9ent7s3z58uzatSuXX3553va2t+W73/1u5s2bl7vuuistLS1HXW/hwoW5//7709nZmb6+vlx88cV5/PHHX/LM888/n7POOivPPHP0i8Re8jcbUhTFA2VZLnm9P0dVG3rzUl2VlgwcOJTtew5UuxQAAABgmJYtW5Y3vOENeeihh/LJT34yDz74YD71qU9l1apVSZLbbrstDzzwQJYvX56bbropW7dufcUcq1evzg033JBHH300lUold95556uut2nTpnR2diZJTjrppGzatOkVz9x66625/PLLR+gXvlTjqMzKsHRVmpMkz2zfmxnTplS5GgAAABgHXmOH0Vi54IILMn/+/Bfe33TTTfnKV76SJFm/fn1Wr16dWbNmvWTM/Pnzc+655yZJzj///KxZs+aY1iqK4hWnoe67777ceuut+ad/+qcT+BWvzs6lGtJVOby9rW+Hpt4AAAAwXkybNu2F1/fff3++9a1v5Xvf+14efvjhnHfeeRkYeGUO0NTU9MLrSZMmvWa/prlz56avry9J0tfXl46Ojhe++9GPfpQPfehDueuuu14R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\n",
      "text/plain": [
       "<Figure size 1440x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(20,10))\n",
    "cl, mean_list = CL_mean_initial(train_01, 'PCA_T2', 'CLI', 30, 0, show_anomaly=False)\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, mean_list, fit_func = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit', return_cureve_func=True)\n",
    "diff_list = curve_derivative(fit_func, cl, 1)\n",
    "plt.plot(cl, diff_list, label='train_01')\n",
    "\n",
    "cl, mean_list = CL_mean_initial(train_02[train_02['CLI']>45], 'PCA_T2', 'CLI', 30, 0, show_anomaly=False)\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, mean_list, fit_func = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit', return_cureve_func=True)\n",
    "diff_list = curve_derivative(fit_func, cl, 1)\n",
    "plt.plot(cl, diff_list, label='train_02')\n",
    "\n",
    "cl, mean_list = CL_mean_initial(train_03[train_03['CLI']<140], 'PCA_T2', 'CLI', 30, 0, show_anomaly=False)\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, mean_list, fit_func = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit', return_cureve_func=True)\n",
    "diff_list = curve_derivative(fit_func, cl, 1)\n",
    "plt.plot(cl, diff_list, label='train_03')\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7fa49982ea20>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABIsAAAJCCAYAAABAuEcoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xl4VYWBv/H3BEFEFpUIksQFiwpCEDQVEFGRIkQRxCpapJZZCkOnpeOPSQErdlBRRKXYWlCpqEA3Sit1CqWxGhYXwCQiIqgBN5IgqywhECE5vz8uvYOCECDhZHk/z+NTbu49J9/LHwVfzz0JwjBEkiRJkiRJAkiIeoAkSZIkSZKqDmORJEmSJEmS4oxFkiRJkiRJijMWSZIkSZIkKc5YJEmSJEmSpDhjkSRJkiRJkuKMRZIkSZIkSYozFkmSJEmSJCnOWCRJkiRJkqS4k6Ie8FWJiYnheeedF/UMSZIkSZKkGiMnJ2dzGIZnlue1VS4WnXfeeWRnZ0c9Q5IkSZIkqcYIguCT8r7Wj6FJkiRJkiQpzlgkSZIkSZKkOGORJEmSJEmS4qrcPYskSZIkSZIOZ+/eveTn57Nnz56op1Q59evXJyUlhbp16x7zOYxFkiRJkiSpWsnPz6dRo0acd955BEEQ9ZwqIwxDtmzZQn5+Pi1btjzm8/gxNEmSJEmSVK3s2bOHpk2bGoq+IggCmjZtetxXXBmLJEmSJElStWMoOrSK+H0xFkmSJEmSJCnOWCRJkiRJkqQ4Y5EkSZIkSdJR2LZtG5MnTz6mYydNmkRxcfFhX5OTk0NqaiqtWrVi+PDhhGEIwB//+Efatm1LQkIC2dnZx/T9y8NYJEmSJEmSdBQqOxYNGzaMqVOnkpeXR15eHvPnzwegXbt2/PnPf+aqq646pu9dXidV6tklSZIkSZIq0dj/fZdVhTsq9JwXJzXmZze2/drnR40axdq1a+nQoQM9e/akWbNmzJo1i5KSEvr378/YsWPZtWsXAwYMID8/n9LSUsaMGcOGDRsoLCyke/fuJCYmkpWVddC5169fz44dO+jcuTMAd955J3PmzCE9PZ02bdpU6Pv8OsYiSZIkSZKkozB+/HhWrlzJ8uXLyczMZPbs2SxbtowwDOnbty+LFi1i06ZNJCUlMXfuXAC2b99OkyZNmDhxIllZWSQmJh7y3AUFBaSkpMQfp6SkUFBQcELe1z8ZiyRJkiRJUrV1uCuAToTMzEwyMzPp2LEjAEVFReTl5dGtWzdGjBjByJEj6dOnD926dYt059EwFkmSJEmSJB2jMAwZPXo0Q4cOPei53Nxc5s2bxz333EOPHj249957j3i+5ORk8vPz44/z8/NJTk6u0M1H4g2uJUmSJEmSjkKjRo3YuXMnAL169WLatGkUFRUBsY+Rbdy4kcLCQho0aMCgQYPIyMggNzf3oGMPpUWLFjRu3JglS5YQhiHTp0+nX79+lf+mDuCVRZIkSZIkSUehadOmdO3alXbt2pGens7AgQPp0qULAA0bNmTmzJmsWbOGjIwMEhISqFu3LlOmTAFgyJAh9O7dm6SkpEPe4Bpg8uTJDB48mN27d5Oenk56ejoAL7zwAj/60Y/YtGkTN9xwAx06dODvf/97hb+/IAzDCj/p8UhLSwuzs7OjniFJkiRJkqqo1atXn7CfDFYdHer3JwiCnDAM08pzvB9DkyRJkiRJUpwfQ5MkSZIkSYpAp06dKCkp+dLXZsyYQWpqakSLYoxFkiRJkiRJEVi6dGnUEw7Jj6FJkiSp6ijdF/UCSZJqPWORJEmSordhFfz+DnjxR1EvkSSp1jMWSZIkKTpbP4I/D4UpV8BHi6DpN6CK/bReSZJqG+9ZJEmSpBNv52ew6BHIeR4S6sAVP4Ir74IGZ0S9TJKkWs8riyRJknTiFG+Fl34Gj3eAnOfg0u/C8LfguvsNRZKkamPbtm1Mnjz5mI6dNGkSxcXFh31NTk4OqamptGrViuHDhxPuv+o2IyOD1q1b0759e/r378+2bduOacORGIskSZJU+UqKYlcSPd4BXnsc2twI/7kM+vwcGidFvU6SpKNS2bFo2LBhTJ06lby8PPLy8pg/fz4APXv2ZOXKlaxYsYILL7yQhx566Jg2HIkfQ5MkSVLl2VcC2c/C4kdh1ya46Hro/lM4q13UyyRJNcXfRsFn71TsOc9KhfTxX/v0qFGjWLt2LR06dKBnz540a9aMWbNmUVJSQv/+/Rk7diy7du1iwIAB5OfnU1paypgxY9iwYQOFhYV0796dxMREsrKyDjr3+vXr2bFjB507dwbgzjvvZM6cOaSnp3PdddfFX9e5c2dmz55dse97P2ORJEmSKl7pPljxB1gwHrZ/Cud1g9t/C2dfHvUySZKO2/jx41m5ciXLly8nMzOT2bNns2zZMsIwpG/fvixatIhNmzaRlJTE3LlzAdi+fTtNmjRh4sSJZGVlkZiYeMhzFxQUkJKSEn+ckpJCQUHBQa+bNm0at912W6W8P2ORJEmSKk4YwuoX4ZUHYPMHkNQR+j4O53eHIIh6nSSpJjrMFUAnQmZmJpmZmXTs2BGAoqIi8vLy6NatGyNGjGDkyJH06dOHbt26Vdj3HDduHCeddBJ33HFHhZ3zQMYiSZIkHb8whLWvwMv3wfrlkHgRDJgRuzeRkUiSVIOFYcjo0aMZOnToQc/l5uYyb9487rnnHnr06MG99957xPMlJyeTn58ff5yfn09ycnL88XPPPcdf//pXXn75ZYJK+jPWG1xLkiTp+KxbBs/1gZk3x37a2U1T4AdvwMV9DUWSpBqpUaNG7Ny5E4BevXoxbdo0ioqKgNjHyDZu3EhhYSENGjRg0KBBZGRkkJube9Cxh9KiRQsaN27MkiVLCMOQ6dOn069fPwDmz5/PhAkTePHFF2nQoEGlvT+vLJIkSdKx+Wxl7ONmH/wNTj0T0ifAZYPhpJOjXiZJUqVq2rQpXbt2pV27dqSnpzNw4EC6dOkCQMOGDZk5cyZr1qwhIyODhIQE6taty5QpUwAYMmQIvXv3Jikp6ZA3uAaYPHkygwcPZvfu3aSnp5Oeng7AD3/4Q0pKSujZsycQu8n1k08+WeHvLwjDsMJPejzS0tLC7OzsqGdIkiTp62xZCwsegndmw8mNoetw6DwM6p0a9TJJUi2xevVq2rRpE/WMKutQvz9BEOSEYZhWnuO9skiSJEnls6MQFk6At2ZAnXpw5V2xUHTK6VEvkyRJFchYJEmSpMMr3gqvToRlU6GsFNL+Fbr9NzRqHvUySZKqtU6dOlFSUvKlr82YMYPU1NSIFsUYiyRJknRoJTvhjcnw+i/hiyK45Ha4ZhScfl7UyyRJqhGWLl0a9YRDMhZJkiTpy/bugexnYPFjULwFWveBa++BZt4bQpKk2sBYJEmSpJjSfbD8N7DwYdhRAOdfAz3uheTLol4mSZJOIGORJElSbVdWBqvmQNY42LIGktPgpilw/tVRL5MkSRFIiHqAJEmSIhKGkPcSPH01zP4XSKgLt/8W/v0fhiJJkg5j27ZtTJ48+ZiOnTRpEsXFxYd9TU5ODqmpqbRq1Yrhw4cThiEAY8aMoX379nTo0IHrrruOwsLCY9pwJMYiSZKk2uiTN+DZdPjNLbBnO/R/Goa9Bq1vgCCIep0kSVVaZceiYcOGMXXqVPLy8sjLy2P+/PkAZGRksGLFCpYvX06fPn247777jmnDkfgxNEmSpNpk/dvw8v2w5iVoeBbc8Bh0vBNOqhf1MkmSqo1Ro0axdu1aOnToQM+ePWnWrBmzZs2ipKSE/v37M3bsWHbt2sWAAQPIz8+ntLSUMWPGsGHDBgoLC+nevTuJiYlkZWUddO7169ezY8cOOnfuDMCdd97JnDlzSE9Pp3HjxvHX7dq1i6CS/gOPsUiSJKk22Lwmdk+id/8M9U+Db42Fy4dAvQZRL5Mk6bg8vOxh3tv6XoWes/UZrRl5+civfX78+PGsXLmS5cuXk5mZyezZs1m2bBlhGNK3b18WLVrEpk2bSEpKYu7cuQBs376dJk2aMHHiRLKyskhMTDzkuQsKCkhJSYk/TklJoaCgIP74pz/9KdOnT6dJkyaHjE0VwY+hSZIk1WTb8+HFH8GvLocP/g5XZcCP34Yr/8tQJElSBcjMzCQzM5OOHTty6aWX8t5775GXl0dqaiovvfQSI0eOZPHixTRp0qRCvt+4ceNYt24dd9xxB0888USFnPOrvLJIkiSpJtq1GRZPhDd/DYSxq4i6/T9o2CzqZZIkVajDXQF0IoRhyOjRoxk6dOhBz+Xm5jJv3jzuueceevTowb333nvE8yUnJ5Ofnx9/nJ+fT3Jy8kGvu+OOO7j++usZO3bs8b2BQ/DKIkmSpJpkzw7IehAevwSWToH2t8KPciB9vKFIkqQK0qhRI3bu3AlAr169mDZtGkVFRUDsY2QbN26ksLCQBg0aMGjQIDIyMsjNzT3o2ENp0aIFjRs3ZsmSJYRhyPTp0+nXrx8AeXl58df95S9/oXXr1pXy/ryySJIkqSbYuxuWTYVXJ8Luz+HiftD9HjjzwqiXSZJU4zRt2pSuXbvSrl070tPTGThwIF26dAGgYcOGzJw5kzVr1pCRkUFCQgJ169ZlypQpAAwZMoTevXuTlJT0tfccmjx5MoMHD2b37t2kp6eTnp4OxG6s/f7775OQkMC5557Lk08+WSnvLwjDsFJOfKzS0tLC7OzsqGdIkiRVD6V74a0ZsHAC7FwP3+gBPcZAUseol0mSVGlWr15NmzZtop5RZR3q9ycIgpwwDNPKc7xXFkmSJFVHZWWw8k+xn3D2+Udwdif49q/hvCujXiZJkqo5Y5EkSVJ1Eoaxn2r2yv2wYSU0bwcDZ8EF10EQRL1OkiQdhU6dOlFSUvKlr82YMYPU1NSIFsUYiyRJkqqLj1+Fl++DdUvhjPPh289A25shwZ9ZIklSdbR06dKoJxySsUiSJKmqK3wrFonWvgKNkqDPJOg4COrUjXqZJEmqgYxFkiRJVdWm9+GVB2D1i3DKGXDdA/DNf4e6p0S9TJIk1WDGIkmSpKpm26ew4GF4+7dQtwFcPQq6/CfUbxz1MkmSVAsYiyRJkqqKoo2w+DHIngYE0PkHcOVdcGpi1MskSVIt4t0QJUmSorZ7G7x8PzzeAZZNhUu+A8Nzodc4Q5EkSVXQtm3bmDx58jEdO2nSJIqLiw/7mpycHFJTU2nVqhXDhw8nDMMvPf/YY48RBAGbN28+pg1HYiySJEmKyhfF8OrP4fFLYPGjcFFv+M9l0PcX0CQl6nWSJOlrVHYsGjZsGFOnTiUvL4+8vDzmz58ff27dunVkZmZyzjnnHNP3Lw8/hiZJknSi7fsCcp+HRY9A0Qa44Dq4dgy0aB/1MkmSqp3PHnyQktXvVeg5T27TmrPuvvtrnx81ahRr166lQ4cO9OzZk2bNmjFr1ixKSkro378/Y8eOZdeuXQwYMID8/HxKS0sZM2YMGzZsoLCwkO7du5OYmEhWVtZB516/fj07duygc+fOANx5553MmTOH9PR0AO666y4mTJhAv379KvQ9H8hYJEmSdKKUlcI7f4SsB2HbJ3DOFXDr83Bul6iXSZKkozB+/HhWrlzJ8uXLyczMZPbs2SxbtowwDOnbty+LFi1i06ZNJCUlMXfuXAC2b99OkyZNmDhxIllZWSQmHvqj5gUFBaSk/N8VxikpKRQUFADwl7/8heTkZC655JJKfX/GIkmSpMoWhvDeXHjlAdi0Gs5qD3f8CVr1gCCIep0kSdXa4a4AOhEyMzPJzMykY8eOABQVFZGXl0e3bt0YMWIEI0eOpE+fPnTr1u24vk9xcTEPPvggmZmZFTH7sIxFkiRJlenDBfDyfVCQA00vgFufgzb9IMFbR0qSVBOEYcjo0aMZOnToQc/l5uYyb9487rnnHnr06MG99957xPMlJyeTn58ff5yfn09ycjJr167lo48+il9VlJ+fz6WXXsqyZcs466yzKu4N4Q2uJUmSKkd+NjzfF6b3g50boO8T8IMl0La/oUiSpGquUaNG7Ny5E4BevXoxbdo0ioqKgNjHyDZu3EhhYSENGjRg0KBBZGRkkJube9Cxh9KiRQsaN27MkiVLCMOQ6dOn069fP1JTU9m4cSMff/wxH3/8MSkpKeTm5lZ4KAKvLJIkSapYG1ZB1jh476/QIBF6j4fL/gXq1o96mSRJqiBNmzala9eutGvXjvT0dAYOHEiXLrF7EDZs2JCZM2eyZs0aMjIySEhIoG7dukyZMgWAIUOG0Lt3b5KSkg55g2uAyZMnM3jwYHbv3k16enr85tYnShCG4Qn9hkeSlpYWZmdnRz1DkiTp6Gz9CBaMhxV/gJMbwRXDofN/xH4tSZIq1OrVq2nTpk3UM6qsQ/3+BEGQE4ZhWnmO98oiSZKk47HzM1j0COQ8Dwl14IofwZV3QYMzol4mSZJ0TIxFkiRJx6J4K7z2OCx9Csr2wqV3wlU/gcYtol4mSZKqiU6dOlFSUvKlr82YMYPU1NSIFsUYiyRJko5GyU5Y8iS8/ovYr1Nvhe6j4Yzzo14mSZKqmaVLl0Y94ZCMRZIkSeWxdw9kPwOLH4PiLXDRDXDtT6F526iXSZIkVShjkSRJ0uGU7oW3ZsbuS7SjAM6/Bq4dAynluj+kJElStWMskiRJOpSyUlj5J8h6ED7/CFIuh/5PQsurol4mSZJUqYxFkiRJBwpDeG8uZI2DjaugeSoMnAUXXAdBEPU6SZKkSpcQ9QBJkqQqIQxh7Svw6x7whzug9Au45VkYuggu7GUokiRJcdu2bWPy5MnHdOykSZMoLi4+7GtycnJITU2lVatWDB8+nDAMAfif//kfkpOT6dChAx06dGDevHnHtOFIyhWLgiDoHQTB+0EQrAmCYNQhnv9/QRCsCoJgRRAELwdBcO4Bz30vCIK8/f98ryLHS5IkVYhPl8LzN8KM/lC0Efo+AT9YCu1uhgT/25okSfqyyo5Fw4YNY+rUqeTl5ZGXl8f8+fPjz911110sX76c5cuXc/311x/ThiM54sfQgiCoA/wK6AnkA28GQfBiGIarDnjZW0BaGIbFQRAMAyYAtwVBcAbwMyANCIGc/cd+XtFvRJIk6aitXwGvPAB5f4dTm0H6BLhsMJx0ctTLJElSOS2e9QGb1xVV6DkTz25ItwEXfu3zo0aNYu3atXTo0IGePXvSrFkzZs2aRUlJCf3792fs2LHs2rWLAQMGkJ+fT2lpKWPGjGHDhg0UFhbSvXt3EhMTycrKOujc69evZ8eOHXTu3BmAO++8kzlz5pCenl6h7/FwynPPosuBNWEYfggQBMHvgX5APBaFYXjgu1sCDNr/617AS2EYbt1/7EtAb+B3xz9dkiTpGG3Oi92T6N0XoH4T6PEz6DQU6p0a9TJJklQNjB8/npUrV7J8+XIyMzOZPXs2y5YtIwxD+vbty6JFi9i0aRNJSUnMnTsXgO3bt9OkSRMmTpxIVlYWiYmJhzx3QUEBKSkp8ccpKSkUFBTEHz/xxBNMnz6dtLQ0HnvsMU4//fQKf3/liUXJwLoDHucDnQ7z+n8D/naYY5O/ekAQBEOAIQDnnHNOOSZJkiQdg22fwoKH4e3fwkmnwFUZ0OWHcMppUS+TJEnH6HBXAJ0ImZmZZGZm0rFjRwCKiorIy8ujW7dujBgxgpEjR9KnTx+6det23N9r2LBhjBkzhiAIGDNmDCNGjGDatGnHfd6vqtCfhhYEwSBiHzm7+miOC8PwaeBpgLS0tLAiN0mSJLFzAyx+FLKfhSABOg2DK++ChmdGvUySJFVzYRgyevRohg4detBzubm5zJs3j3vuuYcePXpw7733HvF8ycnJ5Ofnxx/n5+eTnBy77qZ58+bxr3//+9+nT58+FfAODlaeOzYWAGcf8Dhl/9e+JAiCbwE/BfqGYVhyNMdKkiRViuKt8NLP4PFL4M1noOMdMPwt6P2goUiSJB2zRo0asXPnTgB69erFtGnTKCqK3TepoKCAjRs3UlhYSIMGDRg0aBAZGRnk5uYedOyhtGjRgsaNG7NkyRLCMGT69On069cPiN3P6J9eeOEF2rVrVynvrzxXFr0JXBAEQUtioed2YOCBLwiCoCPwFNA7DMONBzz1d+DBIAj++QG664DRx71akiTpcEp2wpIn4fVfxH6degtcMxqafiPqZZIkqQZo2rQpXbt2pV27dqSnpzNw4EC6dOkCQMOGDZk5cyZr1qwhIyODhIQE6taty5QpUwAYMmQIvXv3Jikp6ZA3uAaYPHkygwcPZvfu3aSnp8dvbv2Tn/yE5cuXEwQB5513Hk899VSlvL8gDI/8qa8gCK4HJgF1gGlhGI4LguA+IDsMwxeDIPgHkAr8M3F9GoZh3/3H/itw9/6vjwvD8NnDfa+0tLQwOzv72N6NJEmq3fbugexnYPFjULwFWveB7ndD87ZRL5MkSRVo9erVtGnTJuoZVdahfn+CIMgJwzCtPMeX655FYRjOA+Z95Wv3HvDrbx3m2GlAxd9tSZIk6Z9K98JbM2HhBNhZCOdfA9feCymXRb1MkiSp2qnQG1xLkiSdUGWlsPJPkPUgfP4RpFwONz8FLa+KepkkSdIRderUiZKSki99bcaMGaSmpka0KMZYJEmSqp8whPfmQtY42LgKmqfCwFlwwXUQBFGvkyRJKpelS5dGPeGQjEWSJKn6CEP4MAtevh8Kc6FpK7jlWbj4Jkgozw95lSRJNUUYhgT+R6KDlOfe1EdiLJIkSdXDp0tikeiTV6HJ2dD3CbjkO1DHv85IklTb1K9fny1bttC0aVOD0QHCMGTLli3Ur1//uM7j364kSVLVtn4FvPIA5P0dTm0G6RPgssFw0slRL5MkSRFJSUkhPz+fTZs2RT2lyqlfvz4pKSnHdQ5jkSRJqpo258XuSfTuC1D/NOjxM+g0FOqdGvUySZIUsbp169KyZcuoZ9RYxiJJklS1bPsUFjwMb/8WTjoFrsqALj+EU06LepkkSVKtYCySJElVw471sPhRyHkeggToNAyuvAsanhn1MkmSpFrFWCRJkqK1awu8OhHe/DWU7YOO34Wr/huaHN9n7SVJknRsjEWSJCkau7fBG0/Akimwtxja3wZX/wTOOD/qZZIkSbWasUiSJJ1YJUWw9El4/RewZztcfBN0vxvOvCjqZZIkScJYJEmSTpS9eyD7GVg8EYo3w4W9oftPoUX7qJdJkiTpAMYiSZJUufZ9AW/NgEWPws5CaHk1XHsPnH151MskSZJ0CMYiSZJUOcpKYcUfYMF42PYJnN0Jbn4KWl4V9TJJkiQdhrFIkiRVrLIyWDUHFjwEmz+AFpfADY9Bq29BEES9TpIkSUdgLJIkSRUjDOGD+fDKONjwDpzZGgbMgDY3GokkSZKqEWORJEk6PmEIHy6AVx6Agmw4vSXcPBXafRsS6kS9TpIkSUfJWCRJko7dp0vg5fvhk1ehcQrc+AvoMBDq1I16mSRJko6RsUiSJB29wrdiVxKt+Qec2gzSJ8Cl34O69aNeJkmSpONkLJIkSeW3YRUseBBW/y+ccjp8ayxc/n2od2rUyyRJklRBjEWSJOnItqyN/XSzd2ZDvYZwzWjoPAzqN4l6mSRJkiqYsUiSJH29betg4cOw/LdQpx50/XHsnwZnRL1MkiRJlcRYJEmSDrbzM1j8GOQ8F3t8+ffhyv8HjZpHOkuSJEmVz1gkSZL+T/FWePXnsGwqlH4BHQfBVRlw2tlRL5MkSdIJYiySJEmwZzu88St4YzJ8UQTtB8DVI6HpN6JeJkmSpBPMWCRJUm32xS5Y+hS89jjs2QZt+kL3u6FZm6iXSZIkKSLGIkmSaqO9eyDn2dh9iXZtgguug+4/haQOUS+TJElSxIxFkiTVJqV74a2ZsOgR2FEA53WD22bCOZ2jXiZJkqQqwlgkSVJtUFYK7/wRFjwEn38MKd+Em6bA+VdHvUySJElVjLFIkqSarKwMVr8IWQ/C5vfhrFQYOCv2sbMgiHqdJEmSqiBjkSRJNVEYQl4mvPIAfLYCEi+CW5+P3cA6ISHqdZIkSarCjEWSJNU0Hy6MRaL8ZXD6edD/KUi9FRLqRL1MkiRJ1YCxSJKkmmLdMnjlfvhoETROhj6ToOMgqFM36mWSJEmqRoxFkiRVd+vfjl1JlJcJp54JvcfDZf8CdetHvUySJEnVkLFIkqTqauN7kDUudgPr+qdBj5/B5UPg5IZRL5MkSVI1ZiySJKm62fohLBgPK2ZBvVPh6pHQ+QdwymlRL5MkSVINYCySJKm62J4PCyfAWzOhTj244kfQ9b/g1KZRL5MkSVINYiySJKmq27kBXp0I2dMgDOGb/wbdRkCjs6JeJkmSpBrIWCRJUlVVvBVeexyWPQ37SqDDQLj6J3DaOVEvkyRJUg1mLJIkqarZswOWTIY3fgUlOyH1FrhmNDT9RtTLJEmSVAsYiyRJqiq+2AXLpsJrk2D359C6D3S/G5q3jXqZJEmSahFjkSRJUdtXAjnPwaJHYddGaPUt6P5TSL406mWSJEmqhYxFkiRFpXQvLP9t7Cec7ciHc6+EAdPh3C5RL5MkSVItZiySJOlEKyuFlX+CBQ/B1g8h+TLo9wScfw0EQdTrJEmSVMsZiyRJOlHCEFb/L2Q9CJtWQ/N28J3fw4W9jUSSJEmqMoxFkiRVtjCENf+AV+6H9W9D0wvglmfh4psgISHqdZIkSdKXGIskSapMHy2GVx6AdUvgtHPgpimQOgDq+EewJEmSqib/pipJUmVY92bsSqKPFkKjFnDDROj4XTipXtTLJEmSpMMyFkmSVJHWr4CscfDBfGiQCL0ehLR/hbqnRL1MkiRJKhdjkSRJFWHT+7EbV6+aA/WbwLVjoNN/wMkNo14mSZIkHRVjkSRJx2Prh7BwAqz4A9RtAFdlQJcfwimnRb1MkiRJOibGIkmSjsW2dbDoEVj+G0g4CTr/AK68C05NjHqZJEmSdFyMRZIkHY0d62HxY5D7PIQhXPYv0G0ENG4R9TJJkiSpQhiLJEkqj6JN8NokePPXULoXOg6KfeTstLOjXiZJkiRVKGORJEmHU7wVXv8lLH0K9u2G9rfB1T+BM86PepkkSZJUKYysjHTIAAAgAElEQVRFkiQdyp7t8MZkWDIZSnZA25vhmtFw5oVRL5MkSZIqlbFIkqQDlRTBsqfhtcdhzzZo3Qe63w3N20a9TJIkSTohjEWSJAHs3Q1vPgOv/hyKN8MF18UiUVLHqJdJkiRJJ5SxSJJUu+0rgdzpsOhRKPoMWl4N194DZ18e9TJJkiQpEsYiSVLtVLoXlv8WFj0C29fBOVfALc/AeVdGvUySJEmKlLFIklS7lJXCilmwcDx8/jEkp0HfX8D53SEIol4nSZIkRc5YJEmqHcrKYNULsGA8bP4AzmoP3/kDXNjLSCRJkiQdwFgkSarZwhDemwtZD8LGd+HMNjBgRuynnCUkRL1OkiRJqnKMRZKkmikMIe8lyBoH65dD01bw7WegbX9IqBP1OkmSJKnKMhZJkmqWMISPFsIr4yB/GZx2LvSbDO1vgzr+sSdJkiQdiX9rliTVHJ+8HotEn7wKjZOhzyTocAecVC/qZZIkSVK1YSySJFV/+TmQ9QCsfQUaNof0CXDp96Bu/aiXSZIkSdWOsUiSVH2tXxG7cfUHf4MGTaHn/fDNf4d6DaJeJkmSJFVbxiJJUvWzcXUsEq1+Eeo3gWvHQKehcHKjqJdJkiRJ1Z6xSJJUfWxeAwvHwzuzoV5DuHokdP4BnHJa1MskSZKkGsNYJEmq+j7/GBY+Am//Dk46Gbr+OPZPgzOiXiZJkiTVOMYiSVLVtb0AFj0Cb82AoA50+g+48r+gYbOol0mSJEk1lrFIklT17PwMXv05ZD8LYRlcNhi6jYDGSVEvkyRJkmo8Y5Ekqeoo2gSvTYI3fw2le6HDQLj6J3DaOVEvkyRJkmoNY5EkKXq7tsDrj8OyqbBvD7S/Ha7OgDPOj3qZJEmSVOsYiyRJ0SneCm88AUufgi92QeqtsZ9wltgq6mWSJElSrWUskiSdeLu3wZIpsGQylOyEtv3hmlFw5kVRL5MkSZJqPWORJOnE2bMjdhXRG7+EPduhTd9YJGreNuplkiRJkvYzFkmSKl9JESx7Gl7/Bez+HC66IRaJWrSPepkkSZKkrzAWSZIqzxfFsZ9s9tokKN4CF/SKRaLkS6NeJkmSJOlrGIskSRVv727IeQ4WT4RdG+Eb18I1d8PZ34x6mSRJkqQjMBZJkirOvhLInQ6LH4Od66HlVXDNdDi3S9TLJEmSJJWTsUiSdPz2fQHLZ8KiR2FHAZxzBdw8FVp2i3qZJEmSpKNkLJIkHbvSvfD272DhI7D9U0i5HG6aDC2vhiCIep0kSZKkY2AskiQdvdJ98M4fYeHD8PlHkHQp3Phz+EYPI5EkSZJUzRmLJEnlV1YKK/8MC8fDljVwVnv4zh/gwl5GIkmSJKmGMBZJko6srAxWzYEF42Hz+9C8Hdz2G2h9g5FIkiRJqmGMRZKkr1dWBu/9FRY8BBtXwZmt4dbnoU1fSEiIep0kSZKkSmAskiQdLAzh/b/Bggfhs3eg6QXw7WegbX9IqBP1OkmSJEmVyFgkSfo/YQhr/gFZ46DwLTjjfOj/NKTeYiSSJEmSagljkSQpFok+zIKsByH/TTjtHOj3K2h/O9TxjwpJkiSpNvHfACSptvtoUSwSffoGNE6BGx+HDndAnbpRL5MkSZIUAWORJNVWn7wei0QfL4ZGSXDDY9Dxu3DSyVEvkyRJkhQhY5Ek1TbrlsUi0YdZ0LA5pE+AS78HdetHvUySJElSFWAskqTaoiAHsh6CNS9Bg0S4bhx889+g7ilRL5MkSZJUhRiLJKmmW/92LBJ98Dc45Qz41li4/PtQ79Sol0mSJEmqgoxFklRTfbYSFjwE7/0V6p8G146BTkPh5EZRL5MkSZJUhRmLJKmm2bgaFoyHVXPg5CZwzd3Q+T+gfpOol0mSJEmqBsoVi4Ig6A08DtQBfh2G4fivPH8VMAloD9wehuHsA54rBd7Z//DTMAz7VsRwSdJXbM6LRaKVf4J6DeGqn0CXH8App0e9TJIkSVI1csRYFARBHeBXQE8gH3gzCIIXwzBcdcDLPgUGA/99iFPsDsOwQwVslSQdypa1sOgRWPEHOOkUuPK/4Irh0OCMqJdJkiRJqobKc2XR5cCaMAw/BAiC4PdAPyAei8Iw/Hj/c2WVsFGSdCiffxyLRMt/B3XqQZf/hCt+DA3PjHqZJEmSpGqsPLEoGVh3wON8oNNRfI/6QRBkA/uA8WEYzjmKYyVJX7VtHSx+FN6aCUGd2E2ru/4XNGoe9TJJkiRJNcCJuMH1uWEYFgRBcD7wShAE74RhuPbAFwRBMAQYAnDOOeecgEmSVA3tKITFj0HO8xAEkPavcOVd0Dgp6mWSJEmSapDyxKIC4OwDHqfs/1q5hGFYsP9/PwyCYAHQEVj7ldc8DTwNkJaWFpb33JJUK+zcAK/+HLKnQVgGl34Xuo2AJilRL5MkSZJUA5UnFr0JXBAEQUtikeh2YGB5Th4EwelAcRiGJUEQJAJdgQnHOlaSapWiTfDaJHjzGSj9AjreAd3+G04/N+plkiRJkmqwI8aiMAz3BUHwQ+DvQB1gWhiG7wZBcB+QHYbhi0EQfBN4ATgduDEIgrFhGLYF2gBP7b/xdQKxexat+ppvJUkC2LUFXv8FLHsa9u2B9rfD1RlwxvlRL5MkSZJUCwRhWLU+9ZWWlhZmZ2dHPUOSTrzirfDGr2Dpk/DFLki9Fa4eCYmtol4mSZIkqZoLgiAnDMO08rz2RNzgWpJ0OHu2w5IpsVBUsgPa3hyLRM1aR71MkiRJUi1kLJKkqJTsjF1F9PovY8GozY1wzWho3jbqZZIkSZJqMWORJJ1oJUXw5lR47XHY/TlcdD1cMwpaXBL1MkmSJEkyFknSCfNFMWQ/A69OguLNcMF1sSuJki+NepkkSZIkxRmLJKmy7d0DOc/C4omwayN841q45m44+5tRL5MkSZKkgxiLJKmy7CuB3Omw+DHYuR5aXgXXTIdzu0S9TJIkSZK+lrFIkiravi9g+W9g0aOwIx/OuQJungotu0W9TJIkSZKOyFgkSRWldC+8/XtYNAG2fQopl0O/J+D8ayAIol4nSZIkSeViLJKk41W6D96ZBQsnwOcfQdKlcMPPoVUPI5EkSZKkasdYJEnHqnQfvPPH2JVEWz+EFpfAd34PF/Y2EkmSJEmqtoxFknS0ykrhndmw8GHYuhbOag+3/w4uSjcSSZIkSar2jEWSVF5lpbDyT7FItGUNNE+F234DrW8wEkmSJEmqMYxFknQkZaXw7guxSLT5A2jWFgbMgNZ9ICEh6nWSJEmSVKGMRZL0dcrKYNULsOBh2Pw+NLsYBkyH1jcaiSRJkiTVWMYiSfqqsjJYNSd2JdGm9+DMNnDrc9Cmn5FIkiRJUo1nLJKkfyorg9UvxiLRxlVwZmu45Vm4+CYjkSRJkqRaw1gkSWVl8N7/xj5utvFdSLwQvv0MtO0PCXWiXidJkiRJJ5SxSFLtVVYG78+FBeNhw0poeoGRSJIkSVKtZyySVPuEIbw3FxaOh8/egaat4Oap0O7bRiJJkiRJtZ6xSFLtEYbw/t9gwUPw2Qo443zo/xS0uwXq+H+HkiRJkgTGIkm1QRjCB/NjkWj923B6S7jpSUi91UgkSZIkSV/hvyVJqrnCEPIyY5Go8C04/TzoNxna32YkkiRJkqSv4b8tSap5whDyXtofiXLhtHOh36/2R6K6Ua+TJEmSpCrNWCSp5ghDWPNyLBIVZMNp50DfX8Il3zESSZIkSVI5GYskVX9hCGtfiUWi/DehyTlw4y9ikeikelGvkyRJkqRqxVgkqfoKQ/gwCxaMh3VLocnZ0GcSdLjDSCRJkiRJx8hYJKn6CUP4aCFkPQTrlkDjZLhhInQcBCedHPU6SZIkSarWjEWSqo8whI8Wxa4k+vT1/ZHoMej4XSORJEmSJFUQY5Gk6uGjxbF7En3yGjRqAdc/CpfeaSSSJEmSpApmLJJUtW16H+aOgI8XQ8OzIH0CXPo9qFs/6mWSJEmSVCMZiyRVbfVOhc8/gd4Pw2WDjUSSJEmSVMmMRZKqtiYp8OPlkFAn6iWSJEmSVCskRD1Ako7IUCRJkiRJJ4yxSJIkSZIkSXHGIkmSJEmSJMUZiyRJkiRJkhRnLJIkSZIkSVKcsUiSJEmSJElxxiJJkiRJkiTFGYskSZIkSZIUZyySJEmSJElSnLFIkiRJkiRJccYiSZIkSZIkxRmLJEmSJEmSFGcskiRJkiRJUpyxSJIkSZIkSXHGIkmSJEmSJMUZiyRJkiRJkhRnLJIkSZIkSVKcsUiSJEmSJElxxiJJkiRJkiTFGYskSZIkSZIUZyySJEmSJElSnLFIkiRJkiRJccYiSZIkSZIkxRmLJEmSJEmSFGcskiRJkiRJUpyxSJIkSZIkSXHGIkmSJEmSJMUZiyRJkiRJkhRnLJIkSZIkSVKcsUiSJEmSJElxxiJJkiRJkiTFGYskSZIkSZIUZyySJEmSJElSnLFIkiRJkiRJccYiSZIkSZIkxRmLJEmSJEmSFGcskiRJkiRJUpyxSJIkSZIkSXHGIkmSJEmSJMUZiyRJkiRJkhRnLJIkSZIkSVKcsUiSJEmSJElxxiJJkiRJkiTFGYskSZIkSZIUZyySJEmSJElSnLFIkiRJkiRJccYiSZIkSZIkxRmLJEmSJEmSFGcskiRJkiRJUpyxSJIkSZIkSXHGIkmSJEmSJMUZiyRJkiRJkhRnLJIkSZIkSVKcsUiSJEmSJElxxiJJkiRJkiTFGYskSZIkSZIUZyySJEmSJElSnLFIkiRJkiRJccYiSZIkSZIkxRmLJEmSJEmSFGcskiRJkiRJUpyxSJIkSZIkSXHGIkmSJEmSJMUZiyRJkiRJkhRnLJIkSZIkSVKcsUiSJEmSJElx5YpFQRD0DoLg/SAI1gRBMOoQz18VBEFuEAT7giC45SvPfS8Igrz9/3yvooZLkiRJkiSp4h0xFgVBUAf4FZAOXAx8JwiCi7/ysk+BwcBvv3LsGcDPgE7A5cDPgiA4/fhnS5IkSZIkqTKU58qiy4E1YRh+GIbhF8DvgX4HviAMw4/DMFwBlH3l2F7AS2EYbg3D8HPgJaB3BeyWJEmSJElSJShPLEoG1h3wOH//18rjeI6VJEmSJEnSCVYlbnAdBMGQIAiygyDI3rRpU9RzJEmSJEmSaq3yxKIC4OwDHqfs/1p5lOvYMAyfDsMwLQzDtDPPPLOcp5YkSZIkSVJFK08sehO4IAiClkEQ1ANuB14s5/n/DlwXBMHp+29sfd3+r0mSJEmSJKkKOmIsCsNwH/BDYpFnNTArDMN3gyC4LwiCvgBBEHwzCIJ84FbgqSAI3t1/7FbgfmLB6U3gvv1fkyRJkiRJUhUUhGEY9YYvSUtLC7Ozs6OeIUmSJEmSVGMEQZAThmFaeV5bJW5wLUmSJEmSpKrBWCRJkiRJkqQ4Y5EkSZIkSZLijEWSJEmSJEmKMxZJkiRJkiQpzlgkSZIkSZKkOGORJEmSJEmS4oxFkiRJkiRJijMWSZIkSZIkKc5YJEmSJEmSpDhjkSRJkiRJkuKMRZIkSZIkSYozFkmSJEmSJCnOWCRJkiRJkqQ4Y5EkSZIkSZLijEWSJEmSJEmKMxZJkiRJkiQpzlgkSZIkSZKkOGORJEmSJEmS4oxFkiRJkiRJijMWSZIkSZIkKc5YJEmSJEmSpDhjkSRJkiRJkuKMRZIkSZIkSYozFkmSJEmSJCnOWCRJkiRJkqQ4Y5EkSZIkSZLijEWSJEmSJEmKMxZJkiRJkiQpzlgkSZIkSZKkOGORJEmSJEmS4oxFkiRJkiRJijMWSZIkSZIkKc5YJEmSJEmSpDhjkSRJkiRJkuKMRZIkSZIkSYozFkmSJEmSJCnOWCRJkiRJkqQ4Y5EkSZIkSZLijEWSJEmSJEmKMxZJkiRJkiQpzlgkSZIkSZKkOGORJEmSJEmS4oxFkiRJkiRJijMWSZIkSZIkKc5YJEmSJEnS/2/vbmNty+u7gH9/+5x7Z2BqoZTngYFRBhsggvTyYLTVWqlglOkLUiaaiEpCatqSGKMpmqghvoBqbGisNaRMhza1lEz6cJNqEVtT38jDUCwytJUpULgTKs+olDD3nv33xV77f9bee+1zzr1z557NnM8nOdlr/Z/Xvuuue/d3770O0AmLAAAAAOiERQAAAAB0wiIAAAAAOmERAAAAAJ2wCAAAAIBOWAQAAABAJywCAAAAoBMWAQAAANAJiwAAAADohEUAAAAAdMIiAAAAADphEQAAAACdsAgAAACATlgEAAAAQCcsAgAAAKATFgEAAADQCYsAAAAA6IRFAAAAAHTCIgAAAAA6YREAAAAAnbAIAAAAgE5YBAAAAEAnLAIAAACgExYBAAAA0AmLAAAAAOiERQAAAAB0wiIAAAAAOmERAAAAAJ2wCAAAAIBOWAQAAABAJywCAAAAoBMWAQAAANAJiwAAAADohEUAAAAAdMIiAAAAADphEQAAAACdsAgAAACATlgEAAAAQCcsAgAAAKATFgEAAADQCYsAAAAA6IRFAAAAAHTCIgAAAAA6YREAAAAAnbAIAAAAgE5YBAAAAEAnLAIAAACgExYBAAAA0AmLAAAAAOiERQAAAAB0wiIAAAAAOmERAAAAAN2JwqKqemVV/X5VPVBVPzpRf1NV/eJQ//6qevZQ/uyq+npV/Y/h599f3+UDAAAAcD3tH9egqvaS/GSSVyS5lOSDVXWxtfaxUbPXJ/lya+05VXVXkrcmee1Q9wettRdd53UDAAAA8Ag4ySeLXprkgdbaJ1prDyV5V5I719rcmeSdw/a9Sb63qur6LRMAAACAG+EkYdGtST4z2r80lE22aa1dSfLVJN8+1N1eVR+uqt+qqu96mOsFAAAA4BF07NfQHqbPJrmttfbFqvrOJL9SVc9vrf2fcaOqekOSNyTJbbfd9ggvCQAAAIBtTvLJogeTPHO0/4yhbLJNVe0neVySL7bWvtFa+2KStNY+lOQPkjx3fYLW2ttbaxdaaxee9KQnXf1RAAAAAHBdnCQs+mCSO6rq9qo6n+SuJBfX2lxM8rph+zVJfrO11qrqScMNslNVfzLJHUk+cX2WDgAAAMD1duzX0FprV6rqh5O8J8lekrtba/dX1ZuT3Ndau5jkHUl+rqoeSPKlLAKlJPnuJG+uqstJ5kl+sLX2pUfiQAAAAAB4+Kq1dtprWHHhwoV23333nfYyAAAAAB41qupDrbULJ2l7kq+hAQAAAHBGCIsAAAAA6IRFAAAAAHTCIgAAAAA6YREAAAAAnbAIAAAAgE5YBAAAAEAnLAIAAACgExYBAAAA0AmLAAAAAOiERQAAAAB0wiIAAAAAOmERAAAAAJ2wCAAAAIBOWAQAAABAJywCAAAAoBMWAQAAANAJiwAAAADohEUAAAAAdMIiAAAAADphEQAAAACdsAgAAACATlgEAAAAQCcsAgAAAKATFgEAAADQCYsAAAAA6IRFAAAAAHTCIgAAAAA6YREAAAAAnbAIAAAAgE5YBAAAAEAnLAIAAACgExYBAAAA0AmLAAAAAOiERQAAAAB0wiIAAAAAOmERAAAAAJ2wCAAAAIBOWAQAAABAJywCAAAAoBMWAQAAANAJiwAAAADohEUAAAAAdMIiAAAAADphEQAAAACdsAgAAACATlgEAAAAQCcsAgAAAKATFgEAAADQCYsAAAAA6IRFAAAAAHTCIgAAAAA6YREAAAAAnbAIAAAAgE5YBAAAAEAnLAIAAACgExYBAAAA0AmLAAAAAOiERQAAAAB0wiIAAAAAOmERAAAAAJ2wCAAAAIBOWAQAAABAJywCAAAAoBMWAQAAANAJiwAAAADohEUAAAAAdMIiAAAAADphEQAAAACdsAgAAACATlgEAAAAQCcsAgAAAKATFgEAAADQCYsAAAAA6IRFAAAAAHTCIgAAAAA6YREAAAAAnbAIAAAAgE5YBAAAAEAnLAIAAACgExYBAAAA0AmLAAAAAOiERQAAAAB0wiIAAAAAOmERAAAAAJ2wCAAAAIBOWAQAAABAJywCAAAAoBMWAQAAANAJiwAAAADohEUAAAAAdMIiAAAAADphEQAAAACdsAgAAACATlgEAAAAQCcsAgAAAKATFgEAAADQCYsAAAAA6IRFAAAAAHT7J2lUVa9M8rYke0l+urX2lrX6m5L8bJLvTPLFJK9trX1qqHtTktcnOUjyxtbae67b6nfYj/367+Xd913KrJKqpFKpSmZVSYayYb+S1PCYlbLDfjUqm9VQNgxUyTDPqN/aGLPZ4VgZ5psNY4zbJodjr84/vZb1tdcR/beOPYyR8fGtHcf62JkYIyvHMbGW0RyT9aPnZ/kcbRznaK5hWRPHsthfNqiJ8dbXvz5n1sYZj91Xf4Kxx2uoiTWPxz5su1m+PPZx//E6Dstro83mMW6Wr6/nuHmmnqvlmFnpN35Opte2PmeOqjtm3tRm+/W5j1vvxvqPWMfkmOuDAQAAXKVjw6Kq2kvyk0lekeRSkg9W1cXW2sdGzV6f5MuttedU1V1J3prktVX1vCR3JXl+kqcn+S9V9dzW2sH1PpBd8x1P+9a84nlPSdIynyctLa0lLcl82GhJWmuZj7ZbkrRFm0WzxeN8qBiP0Ub9Mi4b+s1b0uZJyzztYKhPer/0ucf9Dscbzz9e36LteKzD/llvt9J/9RimxuvHPtE/w36SyTGAaScOmrLacDXwWm1z3JhZCbzW2pxwPcuSX3vjX8hTvvXmrccHAABcXyf5ZNFLkzzQWvtEklTVu5LcmWQcFt2Z5F8M2/cm+be1+N//nUne1Vr7RpJPVtUDw3j//fosf3e9+oVPz6tf+PTTXsaZ04bALJkIpNJWQqWjwrDlAEfVt4xDv7Vga20t4/kOt0fBXB93tX59nVP728buaxgf08Yap9ZweGxT5evPb1/1VJuJtaSPN32sR82z7XhX+66ta9vajplzXLnt+do27/pal+Ovtz+qfnWMq+u7MsTW9Z5szHHl+M/ypH3Xj2f787f9GG7e3wsAAHDjnCQsujXJZ0b7l5K8bFub1tqVqvpqkm8fyt+31vfW9Qmq6g1J3pAkt91220nXDhvGX5caSk5rKQDwsLXVj+6u/KwE2+s/GQXzE2OshNtT4/e5hzHG9Svj9EFOMM70etbrZ495TM7v+P8Hv3Dp/+ULl/7vymFnKvTvh7klRG+bfdbf4BmPsz5Wb78e1h/XfqXNEWvY8ubLxtgbb7ZsGXvcbtvYK+9VHDP+1jeH1g/kYfSdfCNmen1rUx67hjY96Pb5jnhTaqpweoztc272mTinJ+eeHuCoN8BWC7f12fL3ZqpsyyJPvIaN8TbXse15OOlajqpavSav1Z1ggM3zbrx51IBHjLN+7ThijJOscbJqY5yTr3V6vIm/b1vnOmawtd2X/I3b8+Lve9bRC3qUOdE9ix5prbW3J3l7kly4cOGYUwKAXdBfxM7n6S/4hu3M5yv1bT5fdJrPN+rSWlr/3uyy/fDqZ1y/vt+2tBnPP+rXX5C2Zfthvo2yw/2Vudra3ENZn6cdzn84zlq7I8tGz+PamFNlm2tpaW193mXZ6jx9vLW2h3NdQ/l89JzlKsfvfa6hPJt1x86TXP1cW/os6ofyibUslzjVbznkVPnm/4DPjse+7GV51jvvOe1lHOlTH/l83n/xk6e9jNOx/lXlbV9DPu4rzqObCK73XX3fb/r+flvH32hX6122H8MJ57jqeSbuJzh5i8Ft61gpO8FartOck/Out73KuWv9ZplHrW1jrrXz5YidqTVOnVdHzrdSPjXINaxlrd1J1rRRNXFvy6tb2+qAG7NuH3L9xppHzFdH1B3Rb6Lv8e3Xd484gKuce7z35Nv+xHrrR72ThEUPJnnmaP8ZQ9lUm0tVtZ/kcVnc6PokfQG2mn/963no059ODg4OA4XRdjs4SPr2fFE/P9xu83ky3p63ZD70n8/T5uP+a2PN5yvjbozVt9tiTW05/nzrdm/fA5ar7NNDkOO218Zavpif6jPez2G7HlxsCYO4gaqy+E0FleXN/Mf7qRr+A17XVNZvbn815VXJuG7xmxSufpws1zU7evzlC4yqzbGWz9ER/TbKT9CnP1/Z7LNRtzLuCeZb1vfy9XGzNvbhubDS/yrGrnHbqWPaGH+8hrX6Y8ZZOc/G44yfny3j7D/h2zb+CuyaF/zFZ+SOlzw1yegQk9XjXxbVYeX46TisHw+w9seXWml7WF+rw0yNV5v1G6HH2u7KuBPHAsDZcZKw6INJ7qiq27MIeu5K8jfX2lxM8ros7kX0miS/2VprVXUxyX+oqn+TxQ2u70jygeu1eODR7xsf/3g+9QOvPe1lrFq+MJ7NUsvHZdne3uH2uHy8XZXMhhfHs9na9pY+o+2azVKzSib7T2z3fqM+ldRs73Ats1mSGvVbbztb7I/XPmynaqW+z3Ps2Fv69vZ1ePxZn6um2/T5a20947IcjjFZNjt8MTsOaJbth7L1/eUrs9WxTxjYzGbDi7OJOYCdc/Mt53LzLedOexkA8Ig5Niwa7kH0w0nek2Qvyd2ttfur6s1J7mutXUzyjiQ/N9zA+ktZBEoZ2r07i5thX0nyQ2fhN6EB18/5227LrT/xtiGU2TsMH2Z7h8HCOLSZLQOOWWpvtD2rZG/vMGxYCXWOGWt92wt4AADgUay23eDrtFy4cKHdd999p70MALhqrbXM2zzzzA+3lz9rZS0tB/ODtIzKWss88xy0g422K2OtlbXWDvtkNNZo7mXZU295al705Bed9lMFAMANVlUfaq1dOEnbnbjBNQAPzzIsOGgHOZgfZN4WgcP4sW/PJ8qWgcJa3bJ+Of56+dT2SftM7a+vexx+TI2/Xj7VdqN+fny7ls21bwQzQ9gzDoE2fovHDnrVs18lLAIA4EjCImDnLF94H7SDXJlf6QHIlXZlUT4/OAxGRuHHsl0vb/NcmV/pY630O6bdvM23znRrYioAAAhvSURBVNfrx31GY04FNVvr5ttDnaPGW47Zg5NvgpBim71afCVwr/Yyq1n/WdnPLLPZ8FjH/Ey02Z/t9zn6XKN2G3U1S6WyN9tbPA51y3Wtt6/U5FqmysdlU/2rauN4e9naWpfHu762lX5rz8u3nP+W0/4jBwBgxwmL4JtAay1X5ldyeX65ByjLEOXy/PJiewhTlnVX5ldypQ3lo/1x33EQMxXMTJUf2W60fa1jLPd30X7tZ2+2CBL2az+z2eLF+V7tZW+210OGccix3N6f7a/sn5+dX7SZzTb6beuz0Wai77F9ataP4chwZmKMbYHOuHy9/iTzAAAAu0VYxKPa8tMfy6BlGawc+3hwuQcr62Xjx8vzUdmo7UooMz/I5TYKdKaCnokAqLcdPt1yoy1f1O/P9lfCkGVgMlk32j83O5ebZzf3/ZP2m2q3DEGmApHxOOuhzVHtZrMh8Bm1G4dAy7rxeAAAAGeBsIhr0lpbCUwuzy/noYOHJh+XbR6aP5TLB8PjUH9lfmWz/RF9x4HPSUKfg0f4l+/NapZzs3PZn+33x/3ZfvZr/3B7tL8328tN+zflltktK22Wwci52bm+vWy/X0P5bK+PtQxjxn3X5132XV/Hcpxzs3MrIcx6gCMcAQAAOJuERWfc/V+4P3d/9O4e4PRAZi3UWQluhv3rfY+UZYBxfu/84nF2Puf2zuXcbPgZth+z/5iVcGbqcVvdkf32zvVwZbl9bu9cztVi7mXYMt7em+1d1+cAAAAATpuw6Iz72uWv5eNf+fgimBmCmvOz87nl3C2rwc3wuAxtxu1X6odAZxz0nKTv8mtAAAAAwOkSFp1xL33aS3Px+y+e9jIAAACAHeGjHAAAAAB0wiIAAAAAOmERAAAAAJ2wCAAAAIBOWAQAAABAJywCAAAAoBMWAQAAANAJiwAAAADohEUAAAAAdMIiAAAAADphEQAAAACdsAgAAACATlgEAAAAQCcsAgAAAKATFgEAAADQCYsAAAAA6IRFAAAAAHTCIgAAAAA6YREAAAAAnbAIAAAAgE5YBAAAAEAnLAIAAACgExYBAAAA0FVr7bTXsKKqPp/kD097HeysJyb5wmkvAo7gHGXXOUfZdc5Rdp1zlF3nHGWbZ7XWnnSShjsXFsFRquq+1tqF014HbOMcZdc5R9l1zlF2nXOUXecc5XrwNTQAAAAAOmERAAAAAJ2wiG82bz/tBcAxnKPsOucou845yq5zjrLrnKM8bO5ZBAAAAEDnk0UAAAAAdMIidlZVPb6q7q2q36uq362qP1dVT6iq91bVx4fHbzvtdXJ2VdU/qKr7q+qjVfULVXVzVd1eVe+vqgeq6her6vxpr5OzparurqrPVdVHR2WT185a+InhfP1IVb349FbOWbHlHP1Xw7/3H6mqX66qx4/q3jSco79fVX/1dFbNWTJ1jo7q/mFVtap64rDvOsoNt+0craofGa6l91fVj43KXUe5asIidtnbkvx6a+07krwwye8m+dEkv9FauyPJbwz7cMNV1a1J3pjkQmvtBUn2ktyV5K1Jfry19pwkX07y+tNbJWfUPUleuVa27dr5qiR3DD9vSPJTN2iNnG33ZPMcfW+SF7TW/kyS/5XkTUlSVc/L4tr6/KHPv6uqvRu3VM6oe7J5jqaqnpnk+5J8elTsOsppuCdr52hVfU+SO5O8sLX2/CT/eih3HeWaCIvYSVX1uCTfneQdSdJae6i19pUsLoDvHJq9M8n3n84KIUmyn+QxVbWf5LFJPpvkLye5d6h3jnLDtdb+W5IvrRVvu3bemeRn28L7kjy+qp52Y1bKWTV1jrbW/nNr7cqw+74kzxi270zyrtbaN1prn0zyQJKX3rDFciZtuY4myY8n+cdJxjd9dR3lhttyjv79JG9prX1jaPO5odx1lGsiLGJX3Z7k80l+pqo+XFU/XVW3JHlKa+2zQ5s/SvKUU1shZ1pr7cEs3rH5dBYh0VeTfCjJV0YveC4lufV0Vggrtl07b03ymVE75yy74O8l+U/DtnOUnVBVdyZ5sLX2O2tVzlF2xXOTfNdwO4TfqqqXDOXOUa6JsIhdtZ/kxUl+qrX2Z5N8LWtfOWuLX+Xn1/lxKoZ7vtyZRbD59CS3ZOIj67BrXDvZZVX1T5NcSfLzp70WWKqqxyb5J0n+2WmvBY6wn+QJSV6e5B8leXdV1ekuiW9mwiJ21aUkl1pr7x/2780iPPrfy4/2Do+f29IfHml/JcknW2ufb61dTvJLSf58Fh8/3x/aPCPJg6e1QBjZdu18MMkzR+2cs5yaqvo7Sf56kr81hJqJc5Td8KeyeHPod6rqU1mch79dVU+Nc5TdcSnJLw1fifxAknmSJ8Y5yjUSFrGTWmt/lOQzVfWnh6LvTfKxJBeTvG4oe12SXz2F5UGy+PrZy6vqscO7Nstz9L8mec3QxjnKrth27byY5G8Pv83n5Um+Ovq6GtwwVfXKLO4F8+rW2h+Pqi4muauqbqqq27O4ifAHTmONnF2ttf/ZWntya+3ZrbVnZ/Gi/MXD/1ddR9kVv5Lke5Kkqp6b5HySL8R1lGu0f3wTODU/kuTnh189/okkfzeLgPPdVfX6JH+Y5AdOcX2cYa2191fVvUl+O4uvTHw4yduT/FqSd1XVvxzK3nF6q+QsqqpfSPKXkjyxqi4l+edJ3pLpa+d/TPLXsrjZ5R9ncZ2FR9SWc/RNSW5K8t7hWxPva639YGvt/qp6dxZh/JUkP9RaOzidlXNWTJ2jrbVt/567jnLDbbmO3p3k7qr6aJKHkrxu+JSm6yjXpA4/5QsAAADAWedraAAAAAB0wiIAAAAAOmERAAAAAJ2wCAAAAIBOWAQAAABAJywCAAAAoBMWAQAAANAJiwAAAADo/j+Seo+TNHyDYAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1440x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(20,10))\n",
    "cl, mean_list = CL_mean_initial(test_01, 'PCA_T2', 'CLI', 30, 0, show_anomaly=False)\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, mean_list, fit_func = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit', return_cureve_func=True)\n",
    "diff_list = curve_derivative(fit_func, cl, 1)\n",
    "plt.plot(cl, diff_list, label='test_01')\n",
    "\n",
    "cl, mean_list = CL_mean_initial(test_02, 'PCA_T2', 'CLI', 30, 0, show_anomaly=False)\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, mean_list, fit_func = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit', return_cureve_func=True)\n",
    "diff_list = curve_derivative(fit_func, cl, 1)\n",
    "plt.plot(cl, diff_list, label='test_02')\n",
    "\n",
    "cl, mean_list = CL_mean_initial(test_03, 'PCA_T2', 'CLI', 30, 0, show_anomaly=False)\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, mean_list, fit_func = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit', return_cureve_func=True)\n",
    "diff_list = curve_derivative(fit_func, cl, 1)\n",
    "plt.plot(cl, diff_list, label='test_03')\n",
    "\n",
    "cl, mean_list = CL_mean_initial(test_04, 'PCA_T2', 'CLI', 30, 0, show_anomaly=False)\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, mean_list, fit_func = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit', return_cureve_func=True)\n",
    "diff_list = curve_derivative(fit_func, cl, 1)\n",
    "plt.plot(cl, diff_list, label='test_04')\n",
    "\n",
    "cl, mean_list = CL_mean_initial(test_05, 'PCA_T2', 'CLI', 30, 0, show_anomaly=False)\n",
    "cl, mean_list, _ = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.5, fit_type='moving_robust_avg')\n",
    "cl, mean_list, fit_func = cl_curve_smooth(mean_list, cl, up_thred=30, down_thred=0, confidence=0.0, fit_type='scipy_curve_fit', return_cureve_func=True)\n",
    "diff_list = curve_derivative(fit_func, cl, 1)\n",
    "plt.plot(cl, diff_list, label='test_05')\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
